package com.yonyou.pmclouds.workstartreport.rmiitf;

import com.yonyou.pmclouds.basecom.entity.PageObject;
import com.yonyou.pmclouds.basecom.exception.BusinessException;
import com.yonyou.pmclouds.project.entity.ProjectVO;
import com.yonyou.pmclouds.workquality.entity.WorkqualityDetailVO;
import com.yonyou.pmclouds.workquality.entity.WorkqualityVO;
import com.yonyou.pmclouds.workstartreport.entity.WorkStartCheckVO;
import com.yonyou.pmclouds.workstartreport.entity.WorkStartVO;

public interface WorkStartQuery {

    /**
     * 通过项目ID查询所有条件
     */
    WorkStartVO[] getAllCondition(String projectId);
    /**
     * 通过项目ID查询所有的单据
     */
    WorkStartVO[] getAllBill(String projectId);
    /**
     * 查询开工报告总数量
     */
    Integer counts();
    /**
     * 通过报告ID查询开工报告
     */
    WorkStartVO getReport(String reportId);
    /**
     * 通过检查项ID查询
     */
    WorkStartCheckVO getCheck(String checkId);
    /**
     * 通过条件ID查询所有的检查项
     */
    WorkqualityDetailVO[] getAllCheck(String pkWorkqualitydetail);
    /**
     * 查询开工报告下的所有条件
     */
    WorkqualityVO[] getReportCondition(String pkTenant);
    /**
     * 根据项目状态查询所有项目
     */
    ProjectVO[] getProject(String status);
    /**
     * g
     * 根据项目ID获取项目的详细信息
     */
    ProjectVO getProjectById(String projectId);
    /**
     * 根据条件查询开工条件
     */
    PageObject<Object> queryByCondition(String[] pkProject,
                                        String[] creators,
                                        String startDate,
                                        String endDate,
                                        int[] billStatus,
                                        int start,
                                        int size) throws BusinessException;

}
